#!/usr/bin/env python
# -*- coding:utf-8 -*-


#定义的函数，为调用，函数内部不执行
#函数名 > 代指函数
# def outer(func):
# 	return “111”

# def outer(func):
# 	def inner():
# 		print('log')
# 		ret = func()
# 		print('after')
# 		return ret
# 	return inner

# def outer(func):
# 	def inner(a):
# 		print("before")
# 		r = func(a)
# 		print("after")
# 		return r
# 	return inner
#

def outer(func):
	def inner(*args,**kwargs):
		print("before")
		r = func(*args,**kwargs)
		print("after")
		return r
	return inner


#@+函数名
#功能
#1.自动执行outer函数并且将其下面的函数名f1当做参数传递
#2.降outer函数的返回值，重新赋值给f1


@outer
def f1(arg):
	outer()
	print("F1")

@outer
def f2():
	print("F2")

@outer
def f100():
	print("F100")
